Improvisation, playing along with a musical group or to a song/audio file is enjoyable to people and musicians of all ability levels. However, as anyone who has tried this knows, it is easy to play notes which do not harmonize with other notes and pitches which are being played.
This is due to the fact that music is played within the confines of chords, and with chord progressions. Chords have a series of predefined sharp and flat notes, at predefined intervals, which when played properly are harmonious. However, it takes much training and practice in order to learn all of the rules of chord construction and harmonization. This can be daunting to musicians without the necessary skills. Additionally, even for skilled musicians, other tasks such as singing, performing and/or playing multiple instruments simultaneously may lead to the errant not being played, which can stand out to even the most untrained ear.
Therefore, there exists a need to ensure that musicians of all ability levels are able to play music, and to control virtually all aspects of play, without needing to worry about the complex rules of chord construction, chord progression and harmony. Several attempts have been made to this end but have failed in certain aspects. Within prior art solutions, the user must either be advanced enough that they are able to input the proper chord, and change chords at the proper time, which is more advanced than many lower level musicians, or the prior art solutions limit to much of the user's ability to improvise and express themselves as they wish.